<?php

/**
 * Imagens
 * 
 * @author Milton Junior
 * @version 1.5
 * 
 */

require_once 'Zend/Db/Table/Abstract.php';

class Imagens extends Zend_Db_Table_Abstract {
	
	/** Nome da tabela no banco
	 * 
	 * @var string 
	 */
	protected $_name = 'imagens';
	
	/** Classes Dependentes
	 *  
  	 * @var array
	 */
	//protected $_dependentTables = array ('Lacunas', 'Recursos', 'Perguntas' );
	
	/** Classes Referenciadas
	 * 
	 * @var array 
	 */
	protected $_referenceMap = array (
	'Texto' => array ('columns' => 'id_texto', 
						'refTableClass' => 'Textos', 
						'refColumns' => 'id' )
	 );
	
	/**
	 * Insere a imagem no banco
	 * 
	 * @param array dados
	 */
	public function insert(array $dados_imagem) {
		
		$nome_imagem = $dados_imagem ['nome_imagem'];
		$id_texto = $dados_imagem ['id_texto'];
	
		
		parent::insert ( $dados_imagem );
		
		$id_imagem = $this->getAdapter ()->lastInsertId ();
		
		return $id_imagem;
	}
	
	/**
	 * Atualiza o imagem no banco
	 * 
	 * @param array dados, string where
	 */
	public function update(array $dados, $where) {
		
		
		$imagem = $this->find ( $dados ['id_imagem'] )->current ();
		$id_imagem = $imagem->id;
		
		
		
		parent::update ( $dados, $where );
	
	}
	
	/**
	 * Deleta a imagem do banco
	 * 
	 * @param int id
	 */
	public function delete($id) {
		parent::delete ( $this->getAdapter ()->quoteInto ( "id = ?", $id ) );
	}
	
	/**
	 * Pega todas as imagens
	 * 
	 * @param string ordem
	 * @return array
	 */
	public function findAll($ordem = '') {
		return $this->fetchAll ( null, $ordem );
	}
	
	/**
	 * Pega um texto pelo usuario
	 * @param int id, string ordem
	 * @return Texto
	 */
	public function findByTexto($id, $ordem = '') {
		return $this->fetchAll ( $this->getAdapter ()->quoteInto ( 'id_texto = ?', $id ), $ordem );
	}
	
}
